Automatic transmissions and methods therefor

ABSTRACT

Systems and methods for controlling transmissions and associated vehicles, machines, equipment, etc., are disclosed. In one case, a transmission control system includes a control unit configured to use a sensed vehicle speed and a commanded, target constant input speed to maintain an input speed substantially constant. The system includes one or more maps that associate a speed ratio of a transmission with a vehicle speed. In one embodiment, one such map associates an encoder position with a vehicle speed. Regarding a specific application, an automatic bicycle transmission shifting system is contemplated. An exemplary automatic bicycle includes a control unit, a shift actuator, various sensors, and a user interface. The control unit is configured to cooperate with a logic module and an actuator controller to control the cadence of a rider. In one embodiment, a memory of, or in communication with, the control unit includes one or more constant cadence maps that associate transmission speed ratios with bicycle speeds.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.15/012,420, filed Feb. 1, 2016 and scheduled to issue as U.S. Pat. No.9,739,375 on Aug. 22, 2017, which is a continuation of U.S. patentapplication Ser. No. 14/147,026, filed Jan. 3, 2014 and issued Feb. 2,2016 as U.S. Pat. No. 9,249,880, which is a continuation of U.S. patentapplication Ser. No. 13/681,792, filed Nov. 20, 2012 and issued on Jan.7, 2014 as U.S. Pat. No. 8,626,409, which is a continuation of U.S.patent application Ser. No. 12/335,810, filed Dec. 16, 2008 and issuedon Nov. 27, 2012 as U.S. Pat. No. 8,321,097, which claims the benefit ofU.S. Provisional Patent Application No. 61/016,305, filed on Dec. 21,2007. Each of the above-identified applications is hereby incorporatedby reference in its entirety.

BACKGROUND OF THE INVENTION Field of the Invention

The present invention relates generally to mechanical transmissions, andmore specifically to automatic transmissions and methods of controllingsaid transmissions.

Related Technology

Automatic transmissions are found in a variety of machines. However, incertain fields manual operation of the transmission is still prevalent.For example, in the bicycle industry, most bicycles are configured formanual operation of the transmission, which generally involves manuallyactuating levers, cables, and linkages to cause a chain to move from onerear sprocket to another. However, an ongoing need has been manifestedfor systems and corresponding methods to facilitate the automaticcontrol of the transmission of a bicycle.

Inventive embodiments disclosed here address this need, among others, byproviding systems for, and methods of, automatically controllingtransmissions, which systems and methods in some cases are particularlysuitable for human powered vehicles such as bicycles.

SUMMARY OF THE INVENTION

The systems and methods described herein have several features, nosingle one of which is solely responsible for the overall desirableattributes. Without limiting the scope as expressed by the claims thatfollow, the more prominent features of certain embodiments of theinvention will now be discussed briefly. After considering thisdiscussion, and particularly after reading the section entitled“Detailed Description of the Preferred Embodiments,” one will understandhow the features of the systems and methods provide several advantagesover related traditional systems and methods.

In one aspect the invention addresses a method of automaticallycontrolling a ball-planetary transmission of a bicycle. The methodinvolves receiving an input associated with a target user pedalingspeed, determining a speed of the bicycle, and determining a targettransmission ratio based at least in part on the target user pedalingspeed and the determined speed of the bicycle. The method can alsoinclude adjusting a transmission ratio of the transmission to besubstantially equal to the target transmission ratio.

In another aspect, the invention is directed to a method ofautomatically controlling a ball-planetary transmission of a bicycle.The method includes receiving an input associated with a target userpedaling speed, determining a speed of the bicycle, and based upon thetarget user pedaling speed and the determined speed of the bicycle,adjusting a speed ratio of the bicycle to maintain a user pedaling speedwithin a band of the target user pedaling speed.

Yet another aspect of the invention relates to a method of automaticallycontrolling a ball-planetary transmission of a bicycle. The methodinvolves providing an input associated with a target user pedalingspeed, determining a speed of the bicycle, and identifying a targetencoder position associated with the speed of the bicycle. The methodcan further include actuating a servo to achieve the target encoderposition.

In one instance, the invention is concerned with a system forautomatically shifting a ball-planetary bicycle transmission. The systemincludes a speed sensor configured to detect a speed of the bicycle, aprocessor configured to receive input from the speed sensor, and a datainput interface configured to provide cadence data to the processor,said cadence data indicative of a desired, constant input pedalingspeed. The system can additionally have a memory in communication withthe processor, the memory having stored therein one or more mapscorrelating bicycle speeds with speed ratios. In one embodiment, thesystem includes a logic module in communication with the processor, thelogic module configured to cooperate with the processor to determinefrom said maps a target speed ratio based on a bicycle speed and adesired, constant input pedaling speed. In some embodiments, the systemhas an actuator, in communication with the processor, the actuatorconfigured to adjust a speed ratio of the transmission to besubstantially equal to the determined target speed ratio.

Another aspect of the invention addresses a bicycle having aball-planetary transmission and a system for automatically shifting theball-planetary transmission. In one embodiment, the system has a speedsensor configured to detect a speed of the bicycle. The system has aprocessor configured to receive input from the speed sensor. In someembodiments, the system includes a data input interface configured toprovide cadence data to the processor. The cadence data is indicative ofa desired, constant input pedaling speed. The system can include amemory in communication with the processor. In one embodiment, thememory has stored therein one or more maps correlating bicycle speedswith speed ratios. The system includes a logic module in communicationwith the processor. The logic module is configured to cooperate with theprocessor to determine from the maps a target speed ratio based on abicycle speed and a desired, constant input pedaling speed. The systemcan also include an actuator in communication with the processor. Theactuator is configured to adjust a speed ratio of the transmission to besubstantially equal to the determined target speed ratio.

Yet another aspect of the invention concerns an automatic shiftingbicycle system having a ball-planetary transmission having a shift rod.In one embodiment, the system has an actuator operably coupled to theshift rod. The system includes a processor in communication with theactuator. The system also includes a memory in communication with theprocessor. In some embodiments, the memory has at least one tablecorrelating a position of the actuator to the transmission ratio.

These and other improvements will become apparent to those skilled inthe art as they read the following detailed description and view theenclosed figures.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a transmission control system that employsinventive embodiments described herein.

FIG. 2 is a block diagram of a yet another transmission control systemincorporating inventive embodiments described herein.

FIG. 3 is a block diagram of an automatic bicycle transmission shiftingsystem in accordance with inventive embodiments described herein.

FIG. 4 is a process flow chart of a method that can be used to generatedata structures that can be used with inventive embodiments oftransmission control methods and systems described herein.

FIG. 5A is an exemplary data structure that can be used with inventiveembodiments of transmission control methods and systems describedherein.

FIG. 5B is yet another exemplary data structure that can be used withthe inventive embodiments of transmission control methods and systemsdescribed herein.

FIG. 6 is a process flow chart of an automatic transmission controlmethod in accordance with the inventive embodiments described herein.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Preferred embodiments of the present invention will now be describedwith reference to the accompanying figures, wherein like numerals referto like elements throughout. The inventive systems and methods describedhere can be generally used with transmissions and variators disclosed inU.S. Pat. Nos. 6,241,636; 6,419,608; 6,689,012; and 7,011,600. Likewise,the inventive systems and methods disclosed here are related totransmissions, controllers, user interfaces, and vehicles or technologyapplications described in U.S. patent applications Ser. Nos. 11/243,484;11/543,311; 60/887,767; 60/895,713; and 60/914,633. The entiredisclosure of each of these patents and patent applications is herebyincorporated herein by reference.

With reference to FIG. 1, a transmission control system 100 formaintaining a speed input constant is described now. In one embodiment,the system 100 includes an input shaft 102 and an output shaft 104coupled to a transmission 106, which is coupled to a transmissioncontroller 108. The input shaft 102 has an input speed w_(i), and theoutput shaft 106 has an output speed w_(o). A transmission speed ratio(SR) is defined as the output speed w_(o) divided by the input speedw_(i) (or equivalently, w_(i)=w_(o)/SR). During operation of the controlsystem 100, in certain embodiments, as the output speed w_(o) changes,the transmission controller 108 adjusts the SR to keep the input speedw_(i) at a substantially constant value, or within a predetermined bandof the input speed w_(i). Thus, in one embodiment, given a desired,constant input speed w_(i), and a detected output speed w_(o) duringoperation, the controller 108 adjusts the transmission 104 to operate ata predetermined SR associated with the detected output speed w_(o).

The transmission 106 can be a conventional range box, gear box,planetary-gear-based transmission, traction-based transmission (such asa toroidal transmission, a ball planetary transmission, or any othercontinuously variable or infinitely variable transmission), or anycombination thereof. The transmission controller 108 can include variousintegrated circuits, computer processors, logic modules, input andoutput interfaces, data structures, digital memory, power sources,actuators, sensors, encoders, servo mechanisms, etc. Preferably, in oneembodiment, the transmission controller 108 includes a data structurethat correlates vehicle output speed w_(o) to data associated with SR ofthe transmission 106.

Passing to FIG. 2 now, an automatic transmission control system 200includes a speed sensor 202 coupled to a digital processor 204. Adigital memory 206 is placed in communication with the digital processor204. The digital memory 206 has stored therein one or more matrices, ortables, or maps (hereinafter “tables 208”) of output speed w_(o)correlated with SR. In some instances, a logic module 209 is placed incommunication with the digital process 204; the logic module 209 isprovided with suitable programming and/or algorithms to cooperate withthe digital processor 204 in processing inputs and providing outputs,such as determining a SR based on a sensed output speed w_(o) and a datainput associated with a desired constant input speed w_(i). In oneembodiment, the system 200 includes an input device 210 coupled to thedigital processor 204 to provide to the digital processor 204 a datainput associated with a desired constant input speed target w_(c). Insome embodiments of the system 200, an actuator 212 (or ratio adjustermechanism) is coupled to the digital processor 204, whereby the digitalprocessor 204 can control the actuator 212 to adjust the SR of atransmission 107, which in one instance can be a continuously variabletransmission (CVT).

During operation, the speed sensor 202 provides to the digital processor204 an indication of the output speed w_(o). The input device 210provides to the digital processor 204 a target input speed w_(c). Thedigital processor 204, in cooperation with the logic module 209 and/orthe tables 208, determines a SR associated with the indicated outputspeed w_(o) and the target input speed w_(c). The digital processor 204then commands the actuator 212 to adjust the operating speed ratio ofthe transmission 107 to the determined SR. In some embodiments, thetarget input speed w_(c) can be substantially constant over a range ofoutput speeds w_(o), resulting in the rider pedaling at a substantiallyconstant cadence. In one embodiment, the input device 210 provides amap, or a selection indicative of such a map, of predetermined inputspeed w_(c) values associated with output speed w_(o) values.

Referencing FIG. 3 now, an automatic shifting bicycle system 300 isconfigured to keep a rider cadence within a narrow band of a riderselected cadence level. As used here, the term “cadence” refers to thepedaling speed of the rider (which is equivalent to the rotational speedof the bicycle cranks). In one embodiment, the bicycle system 300includes a control unit 302 in communication with a speed sensor 304, anencoder position sensor 306, a user interface 308, a power source 310,and a reversible motor 312. In some instances, a gear reduction set 314is coupled between the reversible motor 312 and a transmission 316. Abicycle wheel 318 and an input driver 320 are operationally coupled tothe transmission 316. In some embodiments, the encoder position sensor306 is coupled to the gear reduction set 314, and the speed sensor 304operationally couples to the bicycle wheel 318 or to any rotatingcomponent associated therewith. The input driver 320 can be, or isoperationally coupled to, a rear wheel sprocket, a chain, a frontsprocket, a one-way clutch, a freewheel, etc. The power source 310 canbe coupled to, or integrated with, anyone of the control unit 302, userinterface 308, and motor 312. The power source 310 can be, for example,a battery, a dynamo, or any other suitable power generating or energystoring device.

In some embodiments, the control unit 302 includes a digital processor322 that is in communication with a memory 324 and a logic module 326.The control unit 302 can additionally include a motor controller 328that is in communication with the digital processor 322. It should benoted that the digital processor 322, memory 324, logic module 326, andthe motor controller 328 need not be all integrated into one device orhoused in a common housing. That is, in some embodiments, any one of thedigital processor 322, memory 324, logic module 326, and motorcontroller 328 can be remotely located from any of the others;communication between or among them can be wired or wireless. The memory324 is preferably provided with one more tables 330 having data thatcorrelates values of output speed w_(o) to values of SR. In oneembodiment, as illustrated in FIG. 3, values of SR are represented byvalues associated with encoder positions; that is, an encoder positionis representative of at least one SR state of the transmission 316. Asused here, the term “encoder position” refers to a state of a detectorand/or a sensor that is representative of a position of a component ofthe transmission 316, or of an internal or external component coupled tosuch a component of the transmission 316. For example, in one case, theencoder position is indicative of an angular position of a gear coupledto a shift rod of the transmission 316 such that the encoder position isindicative of an angular or axial position of the shift rod.

In one embodiment, the user interface 308 includes a display 332 and oneor more operation button switches 334. The display 332 can be anysuitable screen, or the like, for presenting a variety of graphicaland/or alphanumerical information. The operation switches 334 caninclude one or more buttons or manipulators configured to allow anoperator to enter data, make selections, or change values, for example.In some embodiments, the operation switches 334 allow the rider toselect among modes of operation (for example, automatic continuous ratioadjustment, automatic stepped ratio adjustment, manual, etc.). Theoperation switches 334 can be configured to allow the rider to commanddifferent cadence levels while in automatic mode, or to request a SRadjustment while in manual mode.

Still referring to FIG. 3, during operation of the automatic shiftingbicycle system 300, the user can use the user interface 308 to adjustthe desired cadence level while operating the bicycle on a routine ride.The control unit 302 receives the cadence input, queries the memory 324,and in cooperation with the logic module 326 selects a correspondingtable 330 associated with the cadence input. Hence, during normaloperation of the bicycle, the user can select from among predeterminedcadence level maps (that is, tables 330) by indicating a desired cadencevalue. The speed sensor 304 detects the speed of the bicycle wheel 318,which in some instances involves detecting a rotational speed of someother rotating component (such as the spokes of the bicycle wheel 318)that rotates at a speed indicative of the rotational speed of thebicycle wheel 318. Based upon the indicated cadence value and thedetected speed of the bicycle wheel 318, the control unit 302 identifiesfrom the tables 330 a SR, or encoder position, associated with thesensed speed of the bicycle wheel 318. The control unit 302, incooperation with the motor controller 328, actuates the reversible motor312 to adjust the transmission 316 to attain a speed ratio thatsubstantially matches the SR identified from the table 330. As thecontrol unit 302 adjusts the SR in response to changes to the speed ofthe bicycle wheel 318, the cadence of the rider is controlled to staywithin a band of the rider's desired cadence level. For example, in someinstances, the actual cadence level of the rider during steady stateoperation can be maintained at the desired cadence level plus or minus10 revolutions-per-minute (rpm), or +/−5-rpm, or less than +/−2-rpm. Insome embodiments, the automatic shifting bicycle system 300 can beconfigured with multiple automatic modes. The modes can be predeterminedto control a rider's cadence in any desired manner over a range ofoutput speeds. For example, in one such mode, a table 330 can beprovided with cadence values, output speed values, and SR valuesassociated such that over a first range of output speeds the cadence iscontrolled to a certain cadence value or a specific range of cadencevalues, while in a second range of output speeds the cadence iscontrolled to yet another cadence value or yet another specific range ofcadence values.

Referring to FIG. 4 now, a process 400 for generating data structuresthat can be used with a table 330 is described. In one embodiment, anexemplary transmission 316 is a compound variable planetary (CVP) of theball-planetary, traction CVT type. An example of such devices is aNuVinci™ transmission. In such a transmission 316, the speed ratiobetween the speed of an input traction ring and the speed of an outputtraction ring is determined, at least in part, by a position of a shiftrod. Hence, a position of an encoder of a servo mechanism can becorrelated with a position of the shift rod, which effectively meansthat a position of the encoder is correlated with a speed ratio of thetransmission 316. The process 400 starts at a state 402 after a servomechanism having an encoder has been coupled to a transmission 316. At astate 404, an encoder position is recorded (and preferably stored in adata structure will be part of the table 330, for example). Moving to astate 406, an input speed of the transmission 316 is recorded, and at astate 408 an output speed of the transmission 316 is recorded. Passingto a state 410, a SR is calculated by dividing the output speed w_(o) bythe input speed w_(i). At a state 412, the SR is recorded (andpreferably stored in a data structure that will be part of the table330).

The process 400 then moves to a decision state 414 wherein it isdetermined whether the end of the range of the transmission 316 has beenreached. For the current purposes, it is assumed that the range ofencoder positions can be coextensive with the range of speed ratios ofthe transmission 316. When the transmission 316 is a continuouslyvariable transmission there is an infinite number of transmission speedratios within a given range; however, as a practical matter, both theencoder positions and the speed ratios of the transmission 316 will beeach a finite set. If the end of the range of the transmission 316 hasbeen reached, the process 400 continues to a state 416 at which theencoder is moved to the next encoder position. The process 400 thenreturns to the state 404 and records the new encoder position. Theprocess 400 then repeats until at the decision state 414 it isdetermined that the end of the range of the transmission 316 has beenreached, in which case the process 400 ends at a state 418.

Thus, a result of the process 400 is data structures correlating encoderpositions with empirically determined speed ratios of the transmission316. For a certain class of continuously variable transmissions, thespeed ratio and encoder position data can be fit to a curve generallydescribed by SR=A*exp(B*p), wherein A and B are constants or parameterscharacteristic of individual devices, and p is the encoder position. Forexample, for an exemplary CVP, A=0.4844 and B=0.0026. The data tables330 can incorporate the encoder position and speed ratio data generatedby the process 400.

Passing to FIG. 5A, an exemplary table 330 is shown and will now bediscussed. The table 330 can include a vehicle speed data structure 502with data associated with a vehicle speed. The table 330 canadditionally include an encoder position data structure 504 with dataassociated with an encoder position. The vehicle speed data structure502 and the encoder position data structure 504 correspond to oneanother as forming columns and rows of the table 330. Given a targetconstant input speed, a corresponding SR can be determined and tabulatedas a requested SR data structure 506. In some cases, however, arequested SR is not available because, for example, such a SR is lowerthan the lowest SR the transmission 316 can provide. In such cases, therequested SR data structure 506 is used to produce a possible SR datastructure 508. In the example illustrated in FIG. 5, the lowest possibleSR available from the transmission 316 is 0.5; consequently, all thevalues of the requested SR data structure 506 below 0.5 are representedin the possible SR data structure 508 as 0.5. It follows that thecorresponding lowest encoder position is then associated with the lowestpossible SR ratio value in the table 330. Similarly, in some cases, therequested SR is higher than the highest possible SR of the transmission316; hence, the entries in the requested SR data structure 506 that arehigher than the highest possible SR of the transmission 316 arerepresented by the highest SR of the transmission 316 (which in theillustrative example is 1.615).

Of course, those values in the requested SR data structure 506 that fallwithin the possible range of speed ratios of the transmission 316correspond to identical entries in the possible SR data structure 508.It should be noted that, other than for values falling below and abovethe possible range of the transmission 316, in the table 330 there is aunique encoder position value in the encoder position data structure 505that corresponds to a unique SR value in the possible SR data structure508. However, a speed range (rather than a unique speed) corresponds toa given encoder position. Hence, for a wheel speed of 58-rpm and lessthan 60-rpm in the vehicle speed data structure 502, there correspondsonly one value of encoder position (that is, 24) and one value ofpossible speed ratio (that is, 0.52). The illustrative table 330includes a cadence data structure 510 having data associated with acalculated cadence (using the expression w_(i)=w_(o)/SR). The cadencestructure 510 need not be part of the table 330; however, the inclusionof the cadence structure 510 in the illustrative table 330 facilitates ademonstration of how the cadence can be maintained constant (as shown bythe constant value of 50 in the cadence data structure 510) over thepossible range of speed ratios of the transmission 316.

FIG. 5B illustrates yet another example of a map or table 331 of outputspeeds to SR that yield a predetermined rider cadence. In oneembodiment, the table 331 includes a vehicle speed data structure 503having data associated with an output, or vehicle, speed. The table 331additionally includes an encoder position data structure 505 with dataassociated with an encoder position. The vehicle speed data structure503 and the encoder position data structure 505 correspond to oneanother as forming columns and rows of the table 331. Given a desired,predetermined map of target input speeds, a possible SR data structure509 is produced. A cadence data structure 511, which need not be part ofthe table 331, illustrates how the cadence is controlled over the rangeof vehicle speeds associated with the vehicle speed data structure 503.As can be seen in FIG. 5B, the cadence is allowed to rise to a firstlevel (that is, 74.7-rpm), the SR is adjusted to 0.9 from 0.6, as theoutput speed changes from 0 to 100-rpm. The cadence drops to 51.1-rpmand is allowed to rise to 74.7-rpm again before at an output speed of153-rpm the SR is adjusted from 0.9 to 1.4, at which the cadence dropsto 48.8. As the output speed increases to 200-rpm, the cadence rises to64-rpm, and the SR remains constant at 1.4. This is an example ofautomatically controlling a transmission such that the cadence iscontrolled relative to a three-speed ratio shifting scheme. Of course,similar maps can be provided for other automatic modes, such as 4-, 5-,6-, 8-, or 9-speed, for example. In addition, the cadence ranges can beadjusted by moving shift events via the mapping, such as a range of65-rpm to 90-rpm instead of 50-rpm to 75-rpm, for a given vehicle speedor range of vehicle speeds, for example. In some embodiments, the mapscan have any desired relationship (for example, linear, exponential,inverse, etc.) between output speed and cadence.

Turning to FIG. 6, it will be described now a process 600 forcontrolling a transmission 316 so that a rider cadence is controlled tobe within a band of a rider selected cadence level. The process 600starts at a state 602 after a bicycle automatic shifting system 300, forexample, has been turned on and initialized. The process 600 continuesto a state 604 and receives an indication of a target constant cadencelevel. In one embodiment, the rider uses the user interface 308 toprovide the target constant cadence level. The process 600 moves next toa state 606 where a speed of the bicycle is determined. In oneembodiment, the speed sensor 304 detects the speed of the bicycle wheel318. However, in other embodiments, the speed of the bicycle can bedetermined by measuring and/or sensing other characteristics orcomponents of the bicycle, such as detecting a voltage, resistance, orcurrent level on a dynamo (not shown) coupled to the bicycle wheel 318.The process 600 then continues to a state 608 wherein an encoderposition associated with a bicycle speed and a target cadence isdetermined or identified. In one embodiment, the digital processor 322cooperates with the memory 324 and the logic module 326 to query a table330 and thereby select an encoder position that is correlated with abicycle speed and a target cadence. At a state 610 of the process 600,an actuator is commanded to move to a position associated with theselected encoder position of state 608. In some embodiments, at adecision state 612 of the process 600, it is determined whether theprocess 600 should exit and end at a state 614 or loop back to the state604 to receive a target cadence input. At the state 604, the process 600can query whether the rider has commanded a new cadence level; if not,the process 600 continues using the cadence level initially entered. Inone embodiment, the rider does not set the cadence level initially, butrather the control unit 302 is configured to use a default cadencelevel, such as 70-rpm for example. In yet other embodiments, acadence-versus-output speed map (rather than a specific cadence value)can be provided to the process at the state 604. As previouslydiscussed, such a map can include any kind of mapping associatingcadence, output speed, and corresponding SR. At the state 614 of theprocess 600, the decision to exit can be based on a power off condition,a mode change command, or the like. For example, if the rider changesthe mode from automatic mode to manual mode, the process 600 detects thenew condition and exits at the state 614.

Those of skill will recognize that the various illustrative logicalblocks, modules, circuits, and algorithm steps described in connectionwith the embodiments disclosed herein, including with reference to theautomatic shifting bicycle system 300 may be implemented as electronichardware, software stored on a computer readable medium and executableby a processor, or combinations of both. To clearly illustrate thisinterchangeability of hardware and software, various illustrativecomponents, blocks, modules, circuits, and steps have been describedabove generally in terms of their functionality. Whether suchfunctionality is implemented as hardware or software depends upon theparticular application and design constraints imposed on the overallsystem. Skilled artisans may implement the described functionality invarying ways for each particular application, but such implementationdecisions should not be interpreted as causing a departure from thescope of the present invention. For example, various illustrativelogical blocks, modules, and circuits described in connection with theembodiments disclosed herein may be implemented or performed with ageneral purpose processor, a digital signal processor (DSP), anapplication specific integrated circuit (ASIC), a field programmablegate array (FPGA) or other programmable logic device, discrete gate ortransistor logic, discrete hardware components, or any combinationthereof designed to perform the functions described herein. A generalpurpose processor may be a microprocessor, but in the alternative, theprocessor may be any conventional processor, controller,microcontroller, or state machine. A processor may also be implementedas a combination of computing devices, e.g., a combination of a DSP anda microprocessor, a plurality of microprocessors, one or moremicroprocessors in conjunction with a DSP core, or any other suchconfiguration. Software associated with such modules may reside in RAMmemory, flash memory, ROM memory, EPROM memory, EEPROM memory,registers, a hard disk, a removable disk, a CD-ROM, or any othersuitable form of storage medium known in the art. An exemplary storagemedium is coupled to the processor such the processor can readinformation from, and write information to, the storage medium. In thealternative, the storage medium may be integral to the processor. Theprocessor and the storage medium may reside in an ASIC. For example, inone embodiment, the control unit 302 comprises a processor (not shown).The processor of the control unit 302 may also be configured to performthe functions described herein with reference to one or both of themotor controller 328 and the user interface 308.

The foregoing description details certain preferred embodiments of thepresent invention and describes the best mode contemplated. It will beappreciated, however, that no matter how detailed the foregoing appearsin text, the invention can be practiced in many ways. The scope of thepresent invention should therefore be construed only in accordance withthe appended claims and any equivalents thereof.

What is claimed is:
 1. A method of automatically controlling acontinuously variable transmission (CVT) of a bicycle comprising anelectronic controller in communication with a data input interface, aspeed sensor for determining a speed of the bicycle, and an actuator,the electronic controller configured to receive a first input associatedwith a target user pedaling speed from the data input interface and asecond input associated with a speed of the bicycle from the speedsensor, the method comprising the steps of: receiving a third inputassociated with a present user pedaling speed; and determining one of afirst map that identifies a target CVT ratio based on bicycle speed andthe target user pedaling speed when a user cadence is non-zero and asecond map that identifies a target CVT ratio based on bicycle speedwhen a user cadence is substantially zero.
 2. The method of claim 1,further comprising identifying a target CVT ratio for one of the firstmap and the second map, wherein identifying a target CVT ratio comprisesdetermining an actuator position based on the speed of the bicycle orthe target user pedaling speed and the speed of the bicycle.
 3. Themethod of claim 2, wherein determining an actuator position comprisesdetermining an encoder position value from an encoder position datastructure.
 4. The method of claim 3, wherein identifying a target CVTratio comprises determining a unique speed ratio (SR).
 5. The method ofclaim 1, wherein power is supplied to the electronic controller via adynamo
 6. The method of claim 1, wherein the speed of the bicycle isdetermined from a wheel speed.
 7. The method of claim 1, wherein thedata input interface is mounted on the bicycle.
 8. A computer programproduct for automatically controlling a continuously variabletransmission (CVT) of a bicycle having an electronic controller incommunication with a data input interface, a speed sensor fordetermining a speed of the bicycle, and an actuator, the computerprogram product comprising a set of instructions executable by theelectronic controller to perform: storing a set of maps correlatingspeed ratios with bicycle speeds and user pedaling speeds, wherein atleast one map in the set of maps correlates speed ratios with bicyclespeeds when the user pedaling speed is zero; receiving a first inputassociated with a target user pedaling speed from the data inputinterface; receiving a second input associated with a speed of thebicycle from the speed sensor; and receiving a third input associatedwith a present user pedaling speed; and determining a map in the set ofmaps based on the present user pedaling speed and the speed of thebicycle.
 9. The computer program product of claim 8, wherein the set ofmaps correlates speed ratios with actuator positions, each actuatorposition corresponding to one of a speed ratio and a range of speedratios.
 10. The computer program product of claim 9, wherein thecomputer program product comprises a set of instructions executable bythe electronic controller to perform adjusting a speed ratio of the CVT,and wherein adjusting a speed ratio of the CVT comprises commanding theactuator to move to an encoder position.
 11. A bicycle having acontinuously variable transmission (CVT) controllable by an electroniccontroller in communication with a data input interface, a speed sensorfor determining a speed of the bicycle, and an actuator, the electroniccontroller configured to receive a first input associated with a targetuser pedaling speed from the data input interface and a second inputassociated with a speed of the bicycle from the speed sensor, whereinthe electronic controller is configured to: store a set of mapscorrelating speed ratios with bicycle speeds and user pedaling speeds,wherein at least one map in the set of maps correlates speed ratios withbicycle speeds when the user pedaling speed is zero; receive a firstinput associated with a target user pedaling speed from the data inputinterface; receive a second input associated with a speed of the bicyclefrom the speed sensor; receive a third input associated with a presentuser pedaling speed; and determine a map in the set of maps based on thepresent user pedaling speed and the speed of the bicycle; and adjust theCVT to a target transmission ratio based on the determined map.
 12. Thebicycle of claim 11, wherein determining a map comprises identifying atarget transmission ratio, and wherein identifying a target transmissionratio comprises determining an actuator position based on the speed ofthe bicycle or the target user pedaling speed and the speed of thebicycle.
 13. The bicycle of claim 12, wherein the set of maps includes afirst set of maps correlating speed ratios with bicycle speeds and userpedaling speeds and a second set of maps correlating actuator positionsand speed ratios.
 14. The bicycle of claim 12, wherein the set of mapsincludes a first set of maps correlating speed ratios with bicyclespeeds and user pedaling speeds and a second set of maps correlatingencoder positions and speed ratios.
 15. The bicycle of claim 12, whereinthe set of maps includes a first set of maps correlating speed ratioswith bicycle speeds and user pedaling speeds and a second set of mapscorrelating encoder positions and actuator positions.
 16. The bicycle ofclaim 11, wherein determining a map comprises determining a targettransmission ratio, and wherein determining a target transmission ratiocomprises determining a unique speed ratio (SR).
 17. The bicycle ofclaim 11, wherein power is supplied to the electronic controller via adynamo
 18. The bicycle of claim 11, wherein the speed of the bicycle isdetermined from a wheel speed.
 19. The bicycle of claim 11, wherein thedata input interface is mounted on the bicycle.